Dans le cadre de l’amélioration de la compréhension des dynamiques de propriété des logements, notre étude se concentre sur l’analyse du taux de propriété des logements par communes et régions en France sur une période de plus de 60 ans, de 1960 à 2022. Cette analyse approfondie vise à identifier les facteurs influençant l’acquisition de logements et à fournir des recommandations pour renforcer l’attractivité des différentes régions.
Pour ce faire, nous avons intégré des données démographiques, notamment l’âge moyen des populations, afin d’examiner l’hypothèse selon laquelle l’âge des habitants pourrait jouer un rôle dans le taux de propriété des logements. De plus, nous avons incorporé des données socio-politiques, incluant les taux de criminalité et de divers délits, pour évaluer l’impact de la sécurité sur l’acquisition de logements.
En analysant ces différents aspects, notre objectif est de mettre en lumière les interactions complexes entre la démographie, la sécurité et la propriété des logements. Nous espérons que cette étude fournira des insights précieux aux décideurs politiques, les aidant à mettre en œuvre des stratégies efficaces pour renforcer l’attractivité et la sécurité des régions, et ainsi promouvoir une croissance durable du taux de propriété des logements.
Source : Julia Cagé et Thomas Piketty (2023) : Une histoire du conflit politique. Élections et inégalités sociales en France, 1789-2022, Paris, Le Seuil.
#library(readr)
#proprietairescommunes <- read_csv("~/Documents/Module 3/Apprentissage Non-supervisé - Madalina/Apprentissage non-supervisé-20240405/Projet/proprietairescommunes.csv")
#View(proprietairescommunes)
# Chargement des bibliothèques nécessaires
library(tidyverse)
library(readr)
library(ggplot2)
library(FactoMineR)
library(cluster)
library(factoextra)
library(dbscan)
#library(Rlof)
#library(ruptures)
library(readr)
# Chargement des données
data <- read_csv("proprietairescommunes.csv")
## Rows: 37937 Columns: 426
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (4): dep, nomdep, codecommune, nomcommune
## dbl (422): ppropri1960, ppropri1961, ppropri1962, ppropri1963, ppropri1964, ...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
data <- na.omit(data)
View(data)
# Affichage des premières lignes des données
head(data_f)
## # A tibble: 6 × 67
## dep nomdep codecommune nomcommune ppropri1960 ppropri1961 ppropri1962
## <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl>
## 1 01 AIN 01001 ABERGEMENT-CLEME… 0.358 0.378 0.402
## 2 01 AIN 01002 ABERGEMENT-DE-VA… 0.756 0.762 0.786
## 3 01 AIN 01004 AMBERIEU-EN-BUGEY 0.386 0.382 0.379
## 4 01 AIN 01005 AMBERIEUX-EN-DOM… 0.300 0.328 0.358
## 5 01 AIN 01006 AMBLEON 0.794 0.771 0.771
## 6 01 AIN 01007 AMBRONAY 0.637 0.629 0.621
## # ℹ 60 more variables: ppropri1963 <dbl>, ppropri1964 <dbl>, ppropri1965 <dbl>,
## # ppropri1966 <dbl>, ppropri1967 <dbl>, ppropri1968 <dbl>, ppropri1969 <dbl>,
## # ppropri1970 <dbl>, ppropri1971 <dbl>, ppropri1972 <dbl>, ppropri1973 <dbl>,
## # ppropri1974 <dbl>, ppropri1975 <dbl>, ppropri1976 <dbl>, ppropri1977 <dbl>,
## # ppropri1978 <dbl>, ppropri1979 <dbl>, ppropri1980 <dbl>, ppropri1981 <dbl>,
## # ppropri1982 <dbl>, ppropri1983 <dbl>, ppropri1984 <dbl>, ppropri1985 <dbl>,
## # ppropri1986 <dbl>, ppropri1987 <dbl>, ppropri1988 <dbl>, …
# Récupération des noms de colonnes existants
noms_colonnes <- names(data_f)
# Application d'une expression régulière pour extraire les années
annees <- gsub("ppropri", "", noms_colonnes) # Supprimer "ppropri" des noms de colonnes
# Renommage des colonnes avec les années extraites
names(data_f) <- annees
# Affichage des premières lignes du dataframe pour vérifier les changements
head(data_f)
## # A tibble: 6 × 67
## dep nomdep codecommune nomcommune `1960` `1961` `1962` `1963` `1964` `1965`
## <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 01 AIN 01001 ABERGEMENT… 0.358 0.378 0.402 0.426 0.449 0.484
## 2 01 AIN 01002 ABERGEMENT… 0.756 0.762 0.786 0.810 0.814 0.837
## 3 01 AIN 01004 AMBERIEU-E… 0.386 0.382 0.379 0.377 0.374 0.372
## 4 01 AIN 01005 AMBERIEUX-… 0.300 0.328 0.358 0.387 0.413 0.442
## 5 01 AIN 01006 AMBLEON 0.794 0.771 0.771 0.75 0.75 0.730
## 6 01 AIN 01007 AMBRONAY 0.637 0.629 0.621 0.614 0.607 0.598
## # ℹ 57 more variables: `1966` <dbl>, `1967` <dbl>, `1968` <dbl>, `1969` <dbl>,
## # `1970` <dbl>, `1971` <dbl>, `1972` <dbl>, `1973` <dbl>, `1974` <dbl>,
## # `1975` <dbl>, `1976` <dbl>, `1977` <dbl>, `1978` <dbl>, `1979` <dbl>,
## # `1980` <dbl>, `1981` <dbl>, `1982` <dbl>, `1983` <dbl>, `1984` <dbl>,
## # `1985` <dbl>, `1986` <dbl>, `1987` <dbl>, `1988` <dbl>, `1989` <dbl>,
## # `1990` <dbl>, `1991` <dbl>, `1992` <dbl>, `1993` <dbl>, `1994` <dbl>,
## # `1995` <dbl>, `1996` <dbl>, `1997` <dbl>, `1998` <dbl>, `1999` <dbl>, …
La ligne noire à l’intérieur de la boîte représente la médiane des taux de propriété en 1961. Elle semble être autour de 0.65 La boîte s’étend du premier quartile (Q1) au troisième quartile (Q3). Cela montre que la majorité des taux de propriété se situe entre environ 0.5 et 0.95. Les points rouges en dehors des moustaches sont des valeurs aberrantes. Pour 1961, il semble y avoir un nombre significatif de valeurs aberrantes au-dessus de la moustache supérieure, indiquant des taux de propriété exceptionnellement élevés pour certaines communes.
#### 1.3.4. Interpretation :
La ligne noire à l’intérieur de la boîte représente la médiane des taux de propriété en 2022. Elle semble être autour de 0.85. Les points rouges en dehors des moustaches sont des valeurs aberrantes. Pour 2022, il y a également un nombre significatif de valeurs aberrantes, mais cette fois, on observe des taux de propriété exceptionnellement bas pour certaines communes, indiquant une plus grande dispersion et variabilité dans les taux de propriété
Comparaison entre 1961 et 2022 Médiane : La médiane a légèrement augmenté de 1961 à 2022. Dispersion : La dispersion des taux de propriété (IQR) semble être légèrement plus grande en 2022 qu’en 1961, indiquant une variabilité accrue. Valeurs Aberrantes : En 1961, les valeurs aberrantes étaient principalement des taux de propriété élevés, tandis qu’en 2022, on observe des valeurs aberrantes aussi bien élevées que basses, indiquant une plus grande variabilité dans les taux de propriété.
Conclusion Évolution des Taux de Propriété : Les taux de propriété semblent être plus dispersés en 2022 qu’en 1961, avec une plus grande variabilité et des valeurs aberrantes significatives des deux côtés de la distribution. Variabilité Géographique : La présence de nombreuses valeurs aberrantes indique des différences significatives dans les taux de propriété entre différentes communes, tant en 1961 qu’en 2022. Cette variabilité pourrait être due à des facteurs économiques, politiques, ou sociaux différents entre les périodes.
# Application de l'ACP
res.pca <- PCA(data_f[, 5:ncol(data_f)], graph = FALSE)
# Visualisation des résultats de l'ACP
fviz_pca_ind(res.pca, geom.ind = "point", col.ind = "cos2",
gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"), repel = TRUE)
Axe des composantes principales :
Dim1 (74.5%) : L’axe horizontal (Dim1) explique 74.5% de la variance totale des données. C’est la composante principale qui capture la plus grande proportion de la variance dans les données. Dim2 (15.6%) : L’axe vertical (Dim2) explique 15.6% de la variance totale des données. C’est la deuxième composante principale qui capture une partie importante de la variance restante. Couleur des points (cos2) :
cos2 : La couleur des points représente le cos2 (cosinus carré) des individus, qui mesure la qualité de la représentation des individus sur le plan factoriel. Les valeurs plus élevées de cos2 (plus proches de 1) indiquent que l’individu est bien représenté par les composantes principales choisies. La palette de couleurs allant du bleu (#00AFBB) à l’orange (#FC4E07) montre que les points en bleu sont moins bien représentés par ces deux composantes, tandis que les points en orange sont mieux représentés.
Distribution des points :
Les points plus proches du centre (0, 0) sont des individus qui ne sont pas bien expliqués par les deux premières composantes principales. Ils sont plus proches de la moyenne de toutes les variables. Les points éloignés du centre représentent des individus qui sont plus distincts et bien expliqués par les deux premières composantes principales. Ils contribuent davantage à la variance expliquée par ces composantes.
Clusters potentiels :
La répartition et la densité des points peuvent suggérer des clusters ou des regroupements naturels dans les données. Si nous observons des groupes de points distincts, cela peut indiquer des similarités ou des différences significatives entre les individus de ces groupes.
# Exécution de k-means clustering sur les données projetées
set.seed(123)
clustering <- kmeans(res.pca$ind$coord, centers = 4) # Choisissez un nombre de clusters approprié
# Ajout des clusters aux données projetées et convertir les clusters en facteur
data_clusters <- data.frame(res.pca$ind$coord, cluster = as.factor(clustering$cluster))
# Visualisation des clusters
library(factoextra)
fviz_pca_ind(res.pca, geom.ind = "point", col.ind = data_clusters$cluster, palette = "jco", addEllipses = TRUE, ellipse.type = "convex", repel = TRUE)
#### 3.1.1 Interpretation :
Dim1 (74.5%) : L’axe horizontal (Dim1) explique 74.5% de la variance totale des données. Cette composante principale capture la majorité de la variance. Dim2 (15.6%) : L’axe vertical (Dim2) explique 15.6% de la variance totale des données. Cette composante principale capture une partie importante de la variance restante.
Les points sont colorés et symbolisés en fonction des clusters auxquels ils appartiennent. Chaque couleur et symbole représente un cluster différent. Dans ce graphique, nous avons quatre clusters : Cluster 1 (bleu, cercle) Cluster 2 (jaune, triangle) Cluster 3 (gris, carré) Cluster 4 (rouge, croix) Ellipses ou contours des clusters :
Les contours autour des clusters montrent les zones de densité des points pour chaque cluster. Cela nous donne une idée de la répartition et de l’étendue des clusters dans l’espace des composantes principales.
Cluster 1 (bleu) :
Les points du cluster bleu sont principalement situés sur la gauche du graphique. Ce cluster représente une partie significative de la variance capturée par Dim1.
Cluster 2 (jaune) :
Les points du cluster jaune sont principalement situés au centre du graphique, indiquant une variance modérée expliquée par Dim1 et Dim2.
Cluster 3 (gris) :
Les points du cluster gris sont dispersés principalement à droite du graphique. Ce cluster capture une portion différente de la variance par rapport aux autres clusters.
Cluster 4 (rouge) :
Les points du cluster rouge sont situés principalement à droite et en bas du graphique. Ce cluster a des caractéristiques distinctes des autres clusters, comme l’indiquent les positions des points dans l’espace des composantes principales.
# Visualiser la distribution de ppropri2022 par cluster
ggplot(data_with_clusters, aes(x = as.factor(cluster), y = `2022`, fill = as.factor(cluster))) +
geom_boxplot() +
labs(title = "Distribution du taux de propriété_2022 par cluster",
x = "Clusters",
y = "Taux de propriéte 2022") +
theme_minimal()
Le boxplot généré montre la distribution du taux de propriété pour l’année 2022 pour chaque cluster.
# Visualiser les clusters avec d'autres variables
ggplot(data_with_clusters, aes(x = `2000`, y = `2022`, color = as.factor(cluster))) +
geom_point() +
labs(title = "Distribution 2000 vs 2022 coloré par cluster",
x = "Taux de propriete 2000",
y = "Taux de propriete 2022") +
theme_minimal()
Le graphique de dispersion que nous avons généré montre la relation entre les taux de propriété de 2000 et ceux de 2022, coloré par cluster.
La méthode du coude implique de tracer la somme des distances intra-cluster (Within-cluster Sum of Squares, WCSS) pour différents nombres de clusters et de choisir le nombre de clusters où une “courbure” ou un “coude” apparaît.
Regardons le graphique et identifions le point où la réduction du WCSS commence à diminuer. Ce point est souvent appelé le “coude”. Le nombre de clusters correspondant à ce point est généralement considéré comme optimal.
# Charger les packages nécessaires
#library(factoextra)
#library(cluster)
# Préparer les données (utiliser données transformées avec PCA ou autres)
data_n_clusters <- res.pca$ind$coord # Si PCA, sinon utiliser un dataframe approprié
# Calculer le WCSS pour différents nombres de clusters
wss <- function(k) {
kmeans(data_n_clusters, k, nstart = 10)$tot.withinss
}
k.values <- 1:10
# Calculer le WCSS pour chaque valeur de k
wss_values <- map_dbl(k.values, wss)
# Tracer la méthode du coude
plot(k.values, wss_values,
type = "b", pch = 19, frame = FALSE,
title = "Methode du coude",
xlab = "Nombre de clusters K",
ylab = "Total Within-Clusters Sum of Squares")
Le principe est de choisir le nombre de clusters où l’ajout d’un cluster supplémentaire n’améliore plus de manière significative la performance du modèle. Cela se traduit par un changement moins prononcé dans la somme des carrés des distances intra-cluster.
Pour interpréter ce graphique :
En regardant notre graphique, le coude semble se situer autour de 4 clusters. À partir de ce point, l’amélioration de la somme des carrés intra-cluster devient beaucoup moins marquée.
Donc, selon ce graphe, 4 clusters serait un bon choix pour le nombre de clusters dans notre analyse.
Pour confirmer ce choix, il est également recommandé de vérifier d’autres indicateurs tels que l’indice de silhouette que nous avons discuté précédemment. Une bonne pratique consiste à combiner plusieurs méthodes pour obtenir une vue plus complète et robuste sur le nombre optimal de clusters.
La méthode de l’indice de silhouette évalue la qualité du clustering en calculant l’indice de silhouette pour différents nombres de clusters. Un indice de silhouette plus élevé indique des clusters plus cohérents.
Regardons le graphique et identifions le nombre de clusters avec l’indice de silhouette moyen le plus élevé. Ce nombre est considéré comme le plus optimal.
## Dim.1 Dim.2 Dim.3 Dim.4
## Min. :-46.632 Min. :-15.76339 Min. :-10.25267 Min. :-8.2375
## 1st Qu.: -3.198 1st Qu.: -1.99335 1st Qu.: -1.01562 1st Qu.:-0.5914
## Median : 1.246 Median : 0.02966 Median : -0.07699 Median :-0.0364
## Mean : 0.000 Mean : 0.00000 Mean : 0.00000 Mean : 0.0000
## 3rd Qu.: 4.692 3rd Qu.: 2.01094 3rd Qu.: 0.93937 3rd Qu.: 0.5625
## Max. : 16.210 Max. : 17.99881 Max. : 16.82065 Max. :10.4597
## Dim.5
## Min. :-9.93018
## 1st Qu.:-0.48547
## Median : 0.00242
## Mean : 0.00000
## 3rd Qu.: 0.48557
## Max. :39.87276
L’indice de silhouette mesure à quel point chaque point de données est bien assigné à son cluster par rapport à d’autres clusters.
En observant le graphique, l’indice de silhouette moyen est le plus élevé pour 2 clusters. Cependant, après 2 clusters, il y a encore une valeur relativement élevée pour 3 clusters, puis une diminution significative par la suite. Cela suggère que 2 ou 3 clusters pourraient être des choix raisonnables.
Pour déterminer plus précisément le meilleur nombre de clusters, nous pouvons considérer à la fois les résultats du “Elbow Plot” et de l’indice de silhouette : - Le “Elbow Plot” suggère 4 clusters. - L’indice de silhouette est le plus élevé pour 2 clusters, avec une bonne valeur pour 3 clusters.
Compte tenu de ces informations, 3 clusters pourrait être un bon compromis, car il a un indice de silhouette encore élevé et est également raisonnablement bien positionné sur le “Elbow Plot”. Toutefois, en fonction de notre contexte spécifique et des exigences de notre analyse, nous pourrions choisir 2, 3, ou 4 clusters.
## cluster size ave.sil.width
## 1 1 2030 0.39
## 2 2 7481 0.25
## 3 3 12337 0.29
## 4 4 14125 0.24
Le graphique de silhouette que nous avons obtenu permet d’évaluer la qualité du clustering.
En résumé, ce graphique indique que le clustering est correct mais pourrait être amélioré pour obtenir des clusters mieux définis. Nous pourrons essayer différentes approches de clustering ou ajuster les paramètres pour améliorer les résultats.
Largeur de Silhouette par Cluster :
Analyse
A la meilleure qualité de clustering avec une largeur moyenne de silhouette de 0.39. Les points dans ce cluster sont bien regroupés et distincts des autres clusters.
Relativement bon clustering avec une largeur moyenne de silhouette de 0.29.
Ont des largeurs de silhouette plus basses (0.25 et 0.24 respectivement), indiquant que les points dans ces clusters sont moins distincts et peuvent être plus proches des clusters voisins.
## cluster size ave.sil.width
## 1 1 3673 0.35
## 2 2 14386 0.28
## 3 3 17914 0.36
## cluster size ave.sil.width
## 1 1 9398 0.32
## 2 2 26575 0.49
#install.packages("patchwork")
# Charger les packages nécessaires
#library(cluster)
#library(factoextra)
library(patchwork) #permet de combiner plusieurs graphiques ggplot2 dans un seul
# Effectuer le clustering avec 3, 4, et 5 clusters
set.seed(123)
clustering_2 <- kmeans(res.pca$ind$coord, centers = 2)
clustering_3 <- kmeans(res.pca$ind$coord, centers = 3)
clustering_4 <- kmeans(res.pca$ind$coord, centers = 4)
# Calculer les scores de silhouette pour chaque clustering
silhouette_scores_2 <- silhouette(clustering_2$cluster, dist(res.pca$ind$coord))
silhouette_scores_3 <- silhouette(clustering_3$cluster, dist(res.pca$ind$coord))
silhouette_scores_4 <- silhouette(clustering_4$cluster, dist(res.pca$ind$coord))
# Visualiser les scores de silhouette
p_2 <- fviz_silhouette(silhouette_scores_2) + labs(title = "2 Clusters")
## cluster size ave.sil.width
## 1 1 9398 0.32
## 2 2 26575 0.49
p_3 <- fviz_silhouette(silhouette_scores_3) + labs(title = "3 Clusters")
## cluster size ave.sil.width
## 1 1 17897 0.36
## 2 2 14394 0.28
## 3 3 3682 0.35
p_4 <- fviz_silhouette(silhouette_scores_4) + labs(title = "4 Clusters")
## cluster size ave.sil.width
## 1 1 2034 0.39
## 2 2 7497 0.25
## 3 3 14153 0.24
## 4 4 12289 0.29
# Afficher les graphiques côte à côte
p_2 + p_3 + p_4
Pour déterminer quel nombre de clusters est le plus approprié, nous pourrons comparer les plots de silhouette pour les différents nombres de clusters. Voici les critères que nous pouvons utiliser pour l’analyse :
La largeur de silhouette moyenne pour 3 clusters est la plus élevée.
- Largeur moyenne de la silhouette : 0.45
- L'indice de silhouette moyen est le plus élevé, proche de 0.5, indiquant une bonne séparation des clusters.
- Cette configuration présente une légère amélioration pour nos clusters, les silhouettes sont larges et homogènes, suggérant une bonne cohésion des points à l'intérieur des clusters.
- Largeur moyenne de la silhouette : 0.33
- L'indice de silhouette moyen diminue par rapport à 2 clusters mais reste raisonnablement élevé, environ 0.3.
- La forme des silhouettes est moins homogène, mais il y a toujours une certaine cohésion à l'intérieur des clusters.
- Largeur moyenne de la silhouette : 0.27
- L'indice de silhouette moyen diminue encore plus, autour de 0.25, indiquant une qualité de clustering plus faible.
- Les silhouettes sont plus variées en taille et forme, ce qui peut suggérer que certains points sont mal assignés ou que les clusters se chevauchent.
En comparant les indices de silhouette moyens :
2 clusters semblent offrir la meilleure qualité de clustering avec la meilleure cohésion et séparation.
3 clusters peuvent également être considérés comme une option raisonnable si nous avons besoin de plus de détails dans notre clustering, bien que la qualité soit légèrement inférieure.
4 clusters présentent une qualité de clustering nettement inférieure et devraient probablement être évités.
En général, une valeur moyenne de la silhouette au-dessus de 0.5 est considérée comme bonne.
Sur la base des largeurs moyennes de silhouette, le clustering avec 2 clusters semble être la meilleure option parmi les trois configurations testées. Il présente la plus haute valeur moyenne de silhouette, ce qui indique une meilleure séparation et compacité des clusters (0.45).
# Clustering avec 3 clusters (le meilleur selon les scores de silhouette)
clustering_3 <- kmeans(res.pca$ind$coord, centers = 3)
data_with_clusters_3 <- data.frame(res.pca$ind$coord, cluster = as.factor(clustering_3$cluster))
# Visualiser les clusters
fviz_pca_ind(res.pca, geom.ind = "point", col.ind = data_with_clusters_3$cluster, palette = "jco", addEllipses = TRUE, ellipse.type = "convex", repel = TRUE) +
labs(title = "Visualisation des clusters avec 3 clusters")
Ce graphique montre la visualisation des clusters en utilisant l’analyse en composantes principales (PCA) et le clustering K-means avec 3 clusters.
Ce graphique montre une bonne séparation des clusters, ce qui suggère que le choix de 3 clusters est raisonnable pour nos données. Chaque cluster représente un groupe distinct de communes avec des caractéristiques similaires en termes de taux de propriété. Les deux premières dimensions de la PCA expliquent la majorité de la variance, ce qui permet une bonne visualisation en deux dimensions.
# Clustering avec 3 clusters (le meilleur selon les scores de silhouette)
clustering_2 <- kmeans(res.pca$ind$coord, centers = 2)
data_with_clusters_2 <- data.frame(res.pca$ind$coord, cluster = as.factor(clustering_2$cluster))
# Visualiser les clusters
fviz_pca_ind(res.pca, geom.ind = "point", col.ind = data_with_clusters_2$cluster, palette = "jco", addEllipses = TRUE, ellipse.type = "convex", repel = TRUE) +
labs(title = "Visualisation des clusters avec 2 clusters")
Bonne Qualité de Clustering : Le graphique montre que les clusters sont bien séparés et cohérents. Cela suggère que l’utilisation de 2 clusters pour ce jeu de données est une bonne option. Réduction Dimensionnelle Efficace : La PCA a réussi à réduire les données à deux dimensions tout en capturant la majorité de la variance, facilitant ainsi la visualisation et l’interprétation. On garde alors nos 2 clusters pour la suite de l’analyse.
Les box suivent légèrement le même alignement sur ces 20 années.
Variation des Taux de Propriété par Cluster :
Changements au Fil du Temps :
Ce graphique montre les tendances temporelles des taux de propriété moyen par cluster, de 1960 à 2022. Chaque ligne représente l’évolution du taux de propriété moyen pour un cluster spécifique.
Le graphique révèle des tendances distinctes dans les taux de propriété parmi les clusters identifiés. Les régions appartenant au cluster 2 ont les taux de propriété les plus élevés, tandis que celles du cluster 1 ont les taux les plus bas. Les taux de propriété augmentent pour tous les clusters, indiquant une tendance globale à la hausse de la propriété des logements au fil du temps. Cette information peut être utilisée pour approfondir l’analyse des facteurs spécifiques qui influencent les taux de propriété dans ces clusters et pour formuler des recommandations politiques adaptées.
# Chargement des données
citiesexport <- read.csv("citiesexport.csv")
# Renommage des colonnes de citiesexport pour correspondre aux colonnes de proprietaires_communes
names(citiesexport) <- c("codecommune", "city_code", "zip_code", "label", "latitude", "longitude",
"department_name", "department_number", "region_name", "region_geojson_name")
# Vérification des premières lignes des données pour s'assurer que les noms de colonnes sont corrects
head(citiesexport)
## codecommune city_code zip_code label latitude
## 1 25620 ville du pont 25650 ville du pont 46.99987
## 2 25624 villers grelot 25640 villers grelot 47.36151
## 3 25615 villars les blamont 25310 villars les blamont 47.36838
## 4 25619 les villedieu 25240 les villedieu 46.71391
## 5 25622 villers buzon 25170 villers buzon 47.22856
## 6 25625 villers la combe 25510 villers la combe 47.24081
## longitude department_name department_number region_name
## 1 6.498147 doubs 25 bourgogne-franche-comté
## 2 6.235167 doubs 25 bourgogne-franche-comté
## 3 6.871415 doubs 25 bourgogne-franche-comté
## 4 6.265831 doubs 25 bourgogne-franche-comté
## 5 5.852187 doubs 25 bourgogne-franche-comté
## 6 6.473842 doubs 25 bourgogne-franche-comté
## region_geojson_name
## 1 Bourgogne-Franche-Comté
## 2 Bourgogne-Franche-Comté
## 3 Bourgogne-Franche-Comté
## 4 Bourgogne-Franche-Comté
## 5 Bourgogne-Franche-Comté
## 6 Bourgogne-Franche-Comté
#head(data_f)
# Fusionn des données par codecommune
merged_data <- merge(data_f, citiesexport, by = "codecommune")
# Vérification des premières lignes des données fusionnées
#head(merged_data)
(dd031722-d22b-45ce-a05b-f31fa07cf1b6)
Cette carte nous permettra de mettre en évidence les taux de propriété par commune. Aucune communee ne se détache par son taux de propriété. Il faudait étudier la variation de ces taux sur plusieurs années ou regrouper par région pour mieux identifer les nuances.
Taux de propriété en 1960 et 2022
library(patchwork)
#calcul de la variation du taux de propriété entre 1960 et 2022
#merged_data_region$variation_1960_2022 <- merged_data_region$`2022` - merged_data_region$`1960`
# Visualisation des taux de propriété de 1960 et 2022 sur la carte par région
p2 <- ggmap(base_map) +
geom_point(data = merged_data_region, aes(x = Longitude_centre, y = Latitude_centre, color = `1960`), size = 5) +
scale_color_viridis_c(option = "D", begin = 0, end = 1, name = "Propriété 1960") +
theme_minimal() +
labs(title = "Taux de Propriété de 1960 par Région", x = "Longitude", y = "Latitude")
p3 <- ggmap(base_map) +
geom_point(data = merged_data_region, aes(x = Longitude_centre, y = Latitude_centre, color = `2022`), size = 5) +
scale_color_viridis_c(option = "D", begin = 0, end = 1, name = "Propriété 2022") +
theme_minimal() +
labs(title = "Taux de Propriété de 2022 par Région", x = "Longitude", y = "Latitude")
# Combinaison des graphiques côte à côte
p2 + p3
## ℹ © Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors.
Le graphique montre la variation du taux de propriété de 1960 à 2022 par région en France. :
À ce niveau, nous observons au vu de nos données que les variations (positive) du taux de propriété est plus élévé au nord de la france et encore plus au nord est. Les populations de ces régions ou d’ailleurs achètent de plus en plus dans ces régions du nord-est (le Havre et autres …) .
Le graphique fournit une vue d’ensemble des variations du taux de propriété en France sur une période de 62 ans. Il met en évidence les différences régionales et peut être utilisé pour identifier les zones nécessitant une attention particulière en termes de politiques de logement et de développement.
Pour une analyse plus approfondie, nous pourrions : - Comparer ces résultats avec des facteurs économiques et sociaux (par exemple, revenus, taux de chômage). - Examiner des politiques spécifiques qui ont été mises en place dans les régions avec des variations significatives. - Étudier les tendances à plus long terme pour voir si les variations observées sont récentes ou s’inscrivent dans une tendance plus large.
En résumé, ce graphique est un outil puissant pour visualiser et analyser les variations régionales du taux de propriété, aidant à comprendre les dynamiques sous-jacentes et à informer les décisions politiques et économiques.
#head(regions_plus_elevees)
#regions_plus_faibles
Certaines régions (représentées en jaune) avaient déjà un taux de propriété élevé en 1960. La carte de 2022 montre une augmentation générale des taux de propriété dans la plupart des régions, avec des points jaunes plus nombreux par rapport à 1960. Les régions qui étaient en violet ou en vert en 1960 mais qui sont passées au jaune en 2022 montrent une augmentation significative du taux de propriété. Les régions avec des variations minimes peuvent apparaître dans des couleurs similaires sur les deux cartes.
Population vivant dans ces département pour expliquer la variation du taux de propriété dans certaines régions.
## `summarise()` has grouped output by 'dep'. You can override using the `.groups`
## argument.
## `summarise()` has grouped output by 'dep'. You can override using the `.groups`
## argument.
## # A tibble: 6,048 × 3
## # Groups: dep [96]
## dep year avg_age_region
## <chr> <dbl> <dbl>
## 1 01 1960 35.8
## 2 01 1961 35.7
## 3 01 1962 35.6
## 4 01 1963 35.5
## 5 01 1964 35.3
## 6 01 1965 35.2
## 7 01 1966 35.0
## 8 01 1967 34.8
## 9 01 1968 34.6
## 10 01 1969 34.7
## # ℹ 6,038 more rows
Le graphique montre l’évolution de l’âge moyen des populations de différentes régions en France de 1960 à 2022.
En résumé, ce graphique est un outil puissant pour visualiser les tendances démographiques au fil du temps et peut aider à identifier les régions avec des populations vieillissantes plus rapides ou plus lentes, ce qui peut être crucial pour la planification des politiques publiques et des services sociaux.
## dep nomdep year property_rate
## 1 01 AIN 1960 0.3576642
## 2 01 AIN 1960 0.7560976
## 3 01 AIN 1960 0.3856955
## 4 01 AIN 1960 0.3000000
## 5 01 AIN 1960 0.7941176
## 6 01 AIN 1960 0.6375000
## variation_1960_2022 avg_age_region
## variation_1960_2022 1.00000 -0.29922
## avg_age_region -0.29922 1.00000
La corrélation négative faible à modérée entre la variation du taux de propriété entre 1960 et 2022 et l’âge moyen de la population. Ce qui signifie que lorsque l’âge moyen de la population augmente, la variation du taux de propriété tend à diminuer, et vice versa.
L’analyse de corrélation montre une légère tendance inverse entre l’âge moyen de la population et la variation du taux de propriété entre 1960 et 2022. Cependant, la force de cette corrélation n’est pas très élevée, indiquant que l’âge moyen n’est qu’un des nombreux facteurs influençant la variation du taux de propriété. Pour une analyse plus approfondie, il serait utile d’examiner d’autres variables et de considérer des méthodes d’analyse multivariée pour mieux comprendre les facteurs influençant le taux de propriété.
Axe X (horizontal) : Représente la variation du taux de propriété. Les valeurs sur cet axe indiquent l’augmentation ou la diminution du taux de propriété sur la période étudiée.
Axe Y (vertical) : Représente l’âge moyen des habitants des régions.
Ce graphique suggère une relation inverse entre la variation du taux de propriété et l’âge moyen des habitants. Cela peut indiquer que les régions où la propriété augmente attirent une population plus jeune, peut-être en raison de meilleures opportunités économiques ou de politiques de logement favorables aux jeunes ménages.
À l’inverse, les régions où le taux de propriété stagne ou diminue peuvent voir une population plus âgée, potentiellement due à moins d’opportunités ou à un exode des jeunes générations.
Pour explorez d’autres aspects pouvant expliquer la variation du taux de propriété de nos régions française, nous rajoutons les données “crimes_communes” refletant les conditions sociaux politiques.
Au sein de nos données, nous retrouvons les nombres (pourcentage) de délits, de vols de voitures, de cambriolages, de violenes etc…
L’ajout de ces informations nous permettra d’identifier l’impacts du niveau de sécurité des régions et la variation des taux de propriété associés.
## # A tibble: 6 × 54
## # Groups: dep [6]
## dep nomdep paris ncrimesdelits2016 ncrimesdelits2018 ncrimesdelits2020
## <chr> <chr> <dbl> <dbl> <dbl> <dbl>
## 1 01 AIN 0 31.9 33.9 30.1
## 2 02 AISNE 0 15.0 17.3 14.7
## 3 03 ALLIER 0 20.4 21.3 18.8
## 4 04 ALPES-DE-HA… 0 21.9 21.7 18.7
## 5 05 HAUTES-ALPES 0 21.0 19.2 16.3
## 6 06 ALPES-MARIT… 0 278. 268. 227.
## # ℹ 48 more variables: nviolences2016 <dbl>, nviolences2018 <dbl>,
## # nviolences2020 <dbl>, ncambriolages2016 <dbl>, ncambriolages2018 <dbl>,
## # ncambriolages2020 <dbl>, nvolsvoitures2016 <dbl>, nvolsvoitures2018 <dbl>,
## # nvolsvoitures2020 <dbl>, nautresvols2016 <dbl>, nautresvols2018 <dbl>,
## # nautresvols2020 <dbl>, pop2016 <dbl>, pop2018 <dbl>, pop2020 <dbl>,
## # pcrimesdelits2016 <dbl>, pcrimesdelits2018 <dbl>, pcrimesdelits2020 <dbl>,
## # pviolences2016 <dbl>, pviolences2018 <dbl>, pviolences2020 <dbl>, …
# bibliothèques nécessaires
library(dplyr)
# premières lignes des données avant suppression des colonnes
#head(crimes_delits)
# Supprimer les colonnes spécifiques
data_crimes_delits <- data_crimes_delits %>%
select(dep, nomdep, pdelits_total_2016, pdelits_total_2018, pdelits_total_2020)
# Vérifier les premières lignes des données après suppression des colonnes
head(data_crimes_delits)
## # A tibble: 6 × 5
## # Groups: dep [6]
## dep nomdep pdelits_total_2016 pdelits_total_2018 pdelits_total_2020
## <chr> <chr> <dbl> <dbl> <dbl>
## 1 01 AIN 0.0457 0.0492 0.0421
## 2 02 AISNE 0.0465 0.0524 0.0455
## 3 03 ALLIER 0.0335 0.0352 0.0348
## 4 04 ALPES-DE-HAUTE… 0.0626 0.0628 0.0518
## 5 05 HAUTES-ALPES 0.0619 0.0537 0.0413
## 6 06 ALPES-MARITIMES 0.0608 0.0570 0.0544
## [1] "Le coefficient de corrélation entre le taux de criminalité et le taux de propriété est : -0.729377013748799"
#### 6.4.1. Interprétation du graphique : Relation entre le Taux de
Criminalité et le Taux de Propriété
Ce graphique offre une vue d’ensemble utile mais nécessite une analyse plus approfondie pour comprendre pleinement les facteurs sous-jacents.
## [1] "Le coefficient de corrélation entre le taux de propriété et le taux de criminalité en 2016 est : -0.729820061104887"
## [1] "Le coefficient de corrélation entre le taux de propriété et le taux de criminalité en 2018 est : -0.726336200764371"
## [1] "Le coefficient de corrélation entre le taux de propriété et le taux de criminalité en 2020 est : -0.728806968203325"
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
Les coefficients de corrélation montrent une forte relation inverse stable entre le taux de propriété et le taux de criminalité sur les années étudiées. Cela suggère que les régions avec des taux de criminalité plus élevés tendent à avoir des taux de propriété plus faibles, une information cruciale pour les investisseurs et les décideurs politiques.
Notre étude a permis d’analyser le taux de propriété des logements par communes et régions sur une période de plus de 60 ans, allant de 1960 à 2022. Nous avons intégré des données sur l’âge de la population afin d’examiner un potentiel lien entre l’âge moyen des habitants et le taux de propriété. Les résultats indiquent que, pour notre échantillon, les régions avec un âge moyen plus bas présentent un taux de propriété plus élevé. Cela pourrait s’expliquer par les commodités régionales mises à disposition des familles et des enfants, incitant ces derniers à acquérir des logements adaptés à leurs besoins.
Par la suite, nous avons incorporé des données socio-politiques, incluant les taux d’agression, de vols de voitures, de crimes, d’autres vols, de violences, etc., pour chaque département. L’objectif de l’intégration de ces nouvelles données était de visualiser l’impact du niveau de sécurité des départements sur l’acquisition de logements dans les régions. Nos analyses ont révélé que la variation du taux de propriété par région est fortement corrélée au niveau de criminalité des régions. Bien que cette corrélation négative soit assez évidente, nous reconnaissons que d’autres facteurs pourraient également expliquer les variations du niveau de propriété des logements.
Nous espérons que cette analyse éclairera nos décideurs politiques sur les actions à entreprendre pour améliorer l’attractivité de certaines régions. Cela inclut l’implantation d’infrastructures adaptées aux différentes catégories de populations, la création d’entreprises pour attirer les jeunes couples et les familles, et la garantie d’un niveau de sécurité permettant de maintenir sur le long terme les populations séduites et d’éviter les variations négatives observées dans certaines régions.